Protocol Overview (AT Protocol)
Identity
https://atproto.com/img/identities.jpg
Data repositories
ユーザー データは、署名付きData Repositoriesで交換されます。 これらのリポジトリは、投稿、コメント、いいね、フォロー、メディア BLOB などを含むレ コードの集合です。 https://atproto.com/img/data-repos.jpg
連合(Federation)
AT Protocol は、フェデレーション ネットワーク モデル内のリポジトリを同期します。 フェデレーションは、ネットワークが使いやすく、確実に利用できるようにするために選択されました。 リポジトリデータは、標準Webテクノロジー(HTTP XRPC + WebSockets event-stream) を使用してサーバー間で同期されます。 ネットワークの 3 つのコアサービス
Big Graph Services (BGS) ← 2024-02-09 現在、これが削除されて、下の Relay に置き換わっていた
feed生成やらベラーにも取り組んでいます。
さまざまな方法でスタックできる下位レベルのプリミティブは、リポジトリ(repositories)、レキシコン(lexicons)とDIDです。連合アーキテクチャに関する技術的な決定の概要をブログで公開しました。 相互運用
Lexicon と呼ばれるグローバル スキーマ ネットワークを使用して、サーバー間で呼び出しの名前と動作を統一します。 サーバーは、ユーザー リポジトリを同期するためのコア ATP lexiconや、基本的なソーシャル動作を提供するための Bsky lexiconなど、機能セットをサポートするために「lexicon」を実装します。 https://atproto.com/img/interop.jpg
Web がドキュメントを交換する間、AT プロトコルは図式および意味情報を交換し、異なる組織のソフトウェアが互いのデータを理解できるようにします。 これにより、ATP クライアントはサーバーとは独立してユーザー インターフェイスを自由に作成できるようになり、コンテンツの閲覧中にレンダリング コード (HTML/JS/CSS) を交換する必要がなくなります。
規模の達成
ATP は、「スモールワールド」ネットワークと「ビッグワールド」ネットワークを区別します。 スモール ワールド ネットワーキングは個人間のアクティビティを含みますが、ビッグ ワールド ネットワーキングはユーザーの個人的なやり取り以外のアクティビティを集約します。
スモールワールド: メンション、返信、DM などの特定のユーザーを対象としたイベントの配信、および次のグラフによるデータセットの同期。
ビッグワールド: 大規模な指標 (いいね、再投稿、フォロワー)、コンテンツの発見 (アルゴリズム)、およびユーザー検索。
パーソナル データ サーバー (PDS) はスモール ワールド ネットワーキングを担当し、インデックス サービスは個別にネットワークをクロールしてビッグ ワールド ネットワーキングを提供します。
https://atproto.com/img/small-big-world.jpg
スモール ワールドとビッグ ワールドの区別は、スケールと高度なユーザー選択を実現するためのものです。
アルゴリズム選択
Web 検索エンジンと同様に、ユーザーは自由にインデクサーを選択できます。 各フィード、ディスカバリー セクション、または検索インターフェイスは、サード パーティ サービスから提供されながら、PDS に統合されます。
https://atproto.com/img/algorithmic-choice.jpg
アカウント ポータビリティ
パーソナル データ サーバー(PDS)は、完全にオフラインになるか、特定のユーザーへのサービスを停止することにより、いつでも失敗する可能性があると想定しています。 ATP の目標は、ユーザーがサーバーの関与なしに自分のアカウントを新しい PDS に移行できるようにすることです。
ユーザー データは署名付きData Repositoriesに保存され、DID(Identity) によって検証されます。 DID は基本的にユーザー証明書のレジストリであり、ある意味で TLS 証明書システムに似ています。 これらは、安全で信頼性が高く、ユーザーの PDS から独立していることが期待されています。 https://atproto.com/img/did-doc.jpg
各 DID ドキュメントは、署名鍵と回復鍵の 2 つの公開キーを発行します。
署名鍵 (Signing key): DID ドキュメントおよびユーザーのデータ リポジトリへの変更をアサートします。
回復鍵 (Recovery key): DID ドキュメントへの変更をアサートします。 72 時間以内に署名キーをオーバーライドできます。
署名鍵は、ユーザーのデータを管理できるように PDS に委ねられますが、回復鍵はユーザーによって紙の鍵などとして保存されます。 これにより、ユーザーは元のホストの助けなしにアカウントを新しい PDS に更新できます。
https://atproto.com/img/recovery.jpg
ユーザーのデータのバックアップは、バックアップとしてクライアントに永続的に同期されます (使用可能なディスク容量に依存します)。 PDS が通知なしに消えた場合、ユーザーは DID ドキュメントを更新してバックアップをアップロードすることで、新しいプロバイダーに移行できるはずです。
スピーチ、リーチ、モデレーション
ATP のモデルでは、スピーチとリーチは、互いに連携するように構築された 2 つの別個のレイヤーである必要があります。 「スピーチ(speech)」レイヤーは、中立で権限を分散し、誰もが発言できるように設計されている必要があります。 「リーチ(reach)」レイヤーは最上位にあり、柔軟性のために構築され、スケーリングするように設計されています。
https://atproto.com/img/speech-vs-reach.jpg
ATP (Personal Data Repositories と 連合 Networking) の基本層は、誰もが自由に参加できるスピーチのための共通スペースを作成します。これは、誰もが Web サイトを立ち上げることができる Web に似ています。 インデックス サービスは、検索エンジンと同様に、ネットワークからコンテンツを集約することでリーチを可能にします。
仕様
@プロトコルの v1 は、5 つの主要な仕様で構成されています。 これらの仕様は次のとおりです。
Authenticated Transfer Protocol (ATP) これらの仕様は、依存関係の 3 つのレイヤーに編成できます。
https://atproto.com/img/spec-diagram.jpg
ここ(ATプロトコル)から、引き続きガイドと仕様を読むことができます。